"""
docker：跨平台快速运行应用/软件。吧软件打包成一个包快速部署，快速分享应用（镜像）

docker pull redis 下载redis镜像
docker run redis   运行redis镜像
docker build xxx   打包镜像
docker push  xxx   推送镜像到docker 应用市场


镜像就是软件包
容器是软件包启动的一个应用，一个镜像可以启动多个容器，每个容器都是
容器类似轻量级的vm虚拟机
容器共享操作系统的内核
容器拥有自己的文件系统，cpu,内存，进程，空间
容器互相隔离

1安装依赖
sudo yum install -y yum-utils

2正式安装，命令去官网找
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin  docker-compose-

3运行docker
sudo systemctl start docker

4开机启动启动
systemctl enable docker

6设置docker镜像源地址

"""

"""
镜像相关命令：
    搜索：docker search
    下载：docker pull 软件名：版本
    列表: docker images
    删除：docker rmi
    

容器相关命令：
    运行：docker run  运行一个容器，非常多的参数，创建好就只要启动就可以了，第一次才需要运行
    查看：docker ps    加参数-a 查看所有的容器
    停止：docker stop
    启动: docker start
    重启：docker restart
    状态：docker stats
    日志: docker logs
    进入：docker exec
    删除：docker rm
"""
"""
docker 启动参数 run 命令详解
    -d  后台启动
    --name 容器名称 mynginx
    -p  端口映射  -p 80:80  主机端口：容器端口 
    -v 目录挂载  -v /app/nginx/html:/user/share/nginx/html 吧容器内部的文件挂载到服务器里面，不过默认是空的
    -v 卷映射 ngconf：/etc/nginx  卷映射会吧默认的配置凡在卷里面（卷的地址：/var/lib/docker/volumes/卷名）
    --network mynet  加入自定义网络
    -e 环境变量 多个就是多个-e
"""
"""
docker exec -it mynginx /bin/bash
-it 交互模式
/bin/bash 控制台交互
然后就可以进去到这个容器中操作，容器就是一个简约的linx的系统
"""
"""
保存镜像命令：
    提交： docker commit    提交成一个镜像
    保存： docker save      保存镜像为一个文件
    加载： docker load      加载保存的镜像包
"""
"""
分享镜像
    登录: docker login
    命名： docker tag mynginx:v1.0  用户名/mynginx：v1.0
    推送： docker push 用户名/mynginx：v1.0
"""


"""
docker 对卷的操作
    列表： docker volume  ls
    创建： docker volume create 卷名
    查看卷详情： docker volume inspect 卷名
"""

"""
docker 网络
    每个容器在docker内部有个默认网络（docker0），每个容器都有IP，访问ip就可以访问
    使用 docker inspace 容器名 查看容器的分配的ipaddress地址
    
    创建自定义网络，用域名在docker内部互相访问
    docker network create mynet  创建网络
    docker network ls 查看网络
    在加入自定义网络后使用curl http://容器名称:端口 就可以访问到对应的容器
"""

"""
docker redis 主从同步
    1，使用bitnami/redis的镜像
    2，设置自定义网络
        docker network create mynet
    运行命令：
        主redis运行命令
            docker -d -p 6379:6379 -v /redis/01:/bitnami/redis/data\
            -e REDIS_REPLICATION_MODE=master  # 设置主redis\
            -e REDIS_PASSWORD=123456\
            --network mymet\
            -name redis01 bitnami/redis
        从redis 运行命令换到环境变量，端口，容器名称就可以
         
    
    环境变量
        主redis 环境变量：
            REDIS_REPLICATION_MODE=master  # 设置主redis
            REDIS_PASSWORD=123456
    
        从redis 环境变量：
            REDIS_REPLICATION_MODE=slave    设置从redis
            REDIS_MASTER_HOST=redis01       主redis的域名也就是容器名
            REDIS_MASTER_PROT_NUMBER= 6379  主redis的端口
            REDIS_MATER_PASSWORD=123456     主redis的密码
            REDIS_PASSWORD = 123465         从redis的密码
    
"""